package com.zm.zmgz.pojo;

import com.zm.zmgz.utils.StringCjwUtils;

import java.math.BigDecimal;
import java.util.Date;
import java.util.Objects;

public class SalarySettlementDetailsBean implements Comparable<SalarySettlementDetailsBean>{
	
	
	// 新增属性
    private String employeeId;
    private String employeeStatus;
    private int total; // 总记录数
    private int page; // 当前页
    private int limit; // 每页显示条数
    private String name;
    private int index;
    private Boolean statusBoolean; // 如果status="未发放" statusBoolean=flase 如果status="已发放" statusBoolean=true
    private Boolean selected; // 为true表示改行被勾选,为false表示改行没有被勾选
	
	 /***
     * @Description: 按照项目名排序,在按照身份证排序
     * @Param:
     * @return:
     * @Author: cjw
     * @Date: 2020-04-21 11:52:10
     */
    @Override
    public int compareTo(SalarySettlementDetailsBean o) {
        if(Objects.isNull(getProjectname()) || getProjectname().length() == 0 || getProjectname().equals("")) {
            return -1;
        }
        if(!getProjectname().equals(o.getProjectname())) {
            return StringCjwUtils.isMoreThan(getProjectname(),o.getProjectname());
        } else {
            return StringCjwUtils.isMoreThan(getIdentificationnumber(),o.getIdentificationnumber());
        }
    }

    @Override
    public String toString() {
        return "SalarySettlementDetailsBean{" +
                "employeeId='" + employeeId + '\'' +
                ", employeeStatus='" + employeeStatus + '\'' +
                ", total=" + total +
                ", page=" + page +
                ", limit=" + limit +
                ", name='" + name + '\'' +
                ", index=" + index +
                ", statusBoolean=" + statusBoolean +
                ", selected=" + selected +
                ", id=" + id +
                ", batch=" + batch +
                ", batchid=" + batchid +
                ", projectname='" + projectname + '\'' +
                ", identificationnumber='" + identificationnumber + '\'' +
                ", needdays=" + needdays +
                ", truedays=" + truedays +
                ", overtimedays=" + overtimedays +
                ", dayrate=" + dayrate +
                ", coefficient='" + coefficient + '\'' +
                ", overtimesubsidy=" + overtimesubsidy +
                ", mealsubsidy=" + mealsubsidy +
                ", bonus=" + bonus +
                ", othersubsidy=" + othersubsidy +
                ", leavepenalty=" + leavepenalty +
                ", checkpenalty=" + checkpenalty +
                ", otherpenalty=" + otherpenalty +
                ", taxablesalary=" + taxablesalary +
                ", personalsocialsecurity=" + personalsocialsecurity +
                ", personalaccumulationfund=" + personalaccumulationfund +
                ", individualincometax=" + individualincometax +
                ", issuedate=" + issuedate +
                ", issueuser='" + issueuser + '\'' +
                ", status='" + status + '\'' +
                ", salaryaftertax='" + salaryaftertax + '\'' +
                ", remark='" + remark + '\'' +
                ", basicwage='" + basicwage + '\'' +
                ", corporatesocialsecurity=" + corporatesocialsecurity +
                ", enterprisespayprovidentfund=" + enterprisespayprovidentfund +
                '}';
    }

    public String getEmployeeId() {
        return employeeId;
    }

    public void setEmployeeId(String employeeId) {
        this.employeeId = employeeId;
    }

    public String getEmployeeStatus() {
        return employeeStatus;
    }

    public void setEmployeeStatus(String employeeStatus) {
        this.employeeStatus = employeeStatus;
    }

    public int getTotal() {
        return total;
    }

    public void setTotal(int total) {
        this.total = total;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }

    public int getLimit() {
        return limit;
    }

    public void setLimit(int limit) {
        this.limit = limit;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public Boolean getStatusBoolean() {
        return statusBoolean;
    }

    public void setStatusBoolean(Boolean statusBoolean) {
        this.statusBoolean = statusBoolean;
    }

    public Boolean getSelected() {
        return selected;
    }

    public void setSelected(Boolean selected) {
        this.selected = selected;
    }

    private Integer id;

    private Integer batch;

    private Integer batchid;

    private String projectname;

    private String identificationnumber;

    private BigDecimal needdays;

    private BigDecimal truedays;

    private BigDecimal overtimedays;

    private BigDecimal dayrate;

    private String coefficient;

    private BigDecimal overtimesubsidy;

    private BigDecimal mealsubsidy;

    private BigDecimal bonus;

    private BigDecimal othersubsidy;

    private BigDecimal leavepenalty;

    private BigDecimal checkpenalty;

    private BigDecimal otherpenalty;

    private BigDecimal taxablesalary;

    private BigDecimal personalsocialsecurity;

    private BigDecimal personalaccumulationfund;

    private BigDecimal individualincometax;

    private Date issuedate;

    private String issueuser;

    private String status;

    private String salaryaftertax;

    private String remark;

    private String basicwage;

    private BigDecimal corporatesocialsecurity;

    private BigDecimal enterprisespayprovidentfund;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getBatch() {
        return batch;
    }

    public void setBatch(Integer batch) {
        this.batch = batch;
    }

    public Integer getBatchid() {
        return batchid;
    }

    public void setBatchid(Integer batchid) {
        this.batchid = batchid;
    }

    public String getProjectname() {
        return projectname;
    }

    public void setProjectname(String projectname) {
        this.projectname = projectname == null ? null : projectname.trim();
    }

    public String getIdentificationnumber() {
        return identificationnumber;
    }

    public void setIdentificationnumber(String identificationnumber) {
        this.identificationnumber = identificationnumber == null ? null : identificationnumber.trim();
    }

    public BigDecimal getNeeddays() {
        return needdays;
    }

    public void setNeeddays(BigDecimal needdays) {
        this.needdays = needdays;
    }

    public BigDecimal getTruedays() {
        return truedays;
    }

    public void setTruedays(BigDecimal truedays) {
        this.truedays = truedays;
    }

    public BigDecimal getOvertimedays() {
        return overtimedays;
    }

    public void setOvertimedays(BigDecimal overtimedays) {
        this.overtimedays = overtimedays;
    }

    public BigDecimal getDayrate() {
        return dayrate;
    }

    public void setDayrate(BigDecimal dayrate) {
        this.dayrate = dayrate;
    }

    public String getCoefficient() {
        return coefficient;
    }

    public void setCoefficient(String coefficient) {
        this.coefficient = coefficient == null ? null : coefficient.trim();
    }

    public BigDecimal getOvertimesubsidy() {
        return overtimesubsidy;
    }

    public void setOvertimesubsidy(BigDecimal overtimesubsidy) {
        this.overtimesubsidy = overtimesubsidy;
    }

    public BigDecimal getMealsubsidy() {
        return mealsubsidy;
    }

    public void setMealsubsidy(BigDecimal mealsubsidy) {
        this.mealsubsidy = mealsubsidy;
    }

    public BigDecimal getBonus() {
        return bonus;
    }

    public void setBonus(BigDecimal bonus) {
        this.bonus = bonus;
    }

    public BigDecimal getOthersubsidy() {
        return othersubsidy;
    }

    public void setOthersubsidy(BigDecimal othersubsidy) {
        this.othersubsidy = othersubsidy;
    }

    public BigDecimal getLeavepenalty() {
        return leavepenalty;
    }

    public void setLeavepenalty(BigDecimal leavepenalty) {
        this.leavepenalty = leavepenalty;
    }

    public BigDecimal getCheckpenalty() {
        return checkpenalty;
    }

    public void setCheckpenalty(BigDecimal checkpenalty) {
        this.checkpenalty = checkpenalty;
    }

    public BigDecimal getOtherpenalty() {
        return otherpenalty;
    }

    public void setOtherpenalty(BigDecimal otherpenalty) {
        this.otherpenalty = otherpenalty;
    }

    public BigDecimal getTaxablesalary() {
        return taxablesalary;
    }

    public void setTaxablesalary(BigDecimal taxablesalary) {
        this.taxablesalary = taxablesalary;
    }

    public BigDecimal getPersonalsocialsecurity() {
        return personalsocialsecurity;
    }

    public void setPersonalsocialsecurity(BigDecimal personalsocialsecurity) {
        this.personalsocialsecurity = personalsocialsecurity;
    }

    public BigDecimal getPersonalaccumulationfund() {
        return personalaccumulationfund;
    }

    public void setPersonalaccumulationfund(BigDecimal personalaccumulationfund) {
        this.personalaccumulationfund = personalaccumulationfund;
    }

    public BigDecimal getIndividualincometax() {
        return individualincometax;
    }

    public void setIndividualincometax(BigDecimal individualincometax) {
        this.individualincometax = individualincometax;
    }

    public Date getIssuedate() {
        return issuedate;
    }

    public void setIssuedate(Date issuedate) {
        this.issuedate = issuedate;
    }

    public String getIssueuser() {
        return issueuser;
    }

    public void setIssueuser(String issueuser) {
        this.issueuser = issueuser == null ? null : issueuser.trim();
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public String getSalaryaftertax() {
        return salaryaftertax;
    }

    public void setSalaryaftertax(String salaryaftertax) {
        this.salaryaftertax = salaryaftertax == null ? null : salaryaftertax.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getBasicwage() {
        return basicwage;
    }

    public void setBasicwage(String basicwage) {
        this.basicwage = basicwage == null ? null : basicwage.trim();
    }

    public BigDecimal getCorporatesocialsecurity() {
        return corporatesocialsecurity;
    }

    public void setCorporatesocialsecurity(BigDecimal corporatesocialsecurity) {
        this.corporatesocialsecurity = corporatesocialsecurity;
    }

    public BigDecimal getEnterprisespayprovidentfund() {
        return enterprisespayprovidentfund;
    }

    public void setEnterprisespayprovidentfund(BigDecimal enterprisespayprovidentfund) {
        this.enterprisespayprovidentfund = enterprisespayprovidentfund;
    }
}